生成AI産業診断&トラブルシューティングアシスタントを構築する「Build a generative AI industrial diagnosis & troubleshooting assistant」に参加しました
はじめに
今回はre:Invent2024のセッション「Build a generative AI industrial diagnosis & troubleshooting assistant」に参加してみたので紹介します!
概要
In this workshop, construct a generative AI–powered assistant that enhances operational efficiency and reduces machine downtime in industrial settings. While harnessing the power of large language models from Amazon Bedrock, learn how to integrate AWS IoT SiteWise and an enterprise knowledge graph, and find out how to connect knowledge bases, configure agents, and establish robust guardrails. When finished, see your generative AI assistant in action in a simulated factory environment and the impact it makes to deliver contextualized insights and actionable recommendations to plant operators. You must bring your laptop to participate.
[翻訳]
このワークショップでは、業務効率を向上させ、産業環境における機械のダウンタイムを削減する生成的なAIアシスタントを構築します。Amazon Bedrockの大規模言語モデルのパワーを活用しながら、AWS IoT SiteWiseとエンタープライズナレッジグラフを統合する方法を学び、ナレッジベースを接続し、エージェントを構成し、堅牢なガードレールを確立する方法を見つけます。また、ナレッジベースの接続方法、エージェントの設定方法、および堅牢なガードレールの確立方法についても学びます。終了後は、シミュレートされた工場環境で、生成AIアシスタントが実際に動作し、工場オペレータにコンテキストに基づいた洞察と実用的な推奨を提供するインパクトをご覧ください。
自分なりに要約
このセッションではIoT SiteWise Assistant機能を活用して機器のトラブルシューティングを行います。
機器データはIoT SiteWiseに格納して、データの分析はIoT SiteWise Assistantを利用して自然言語でデータ傾向を分析します。
また、分析結果からメンテナンスや修理が必要だと判断された場合はKendraを通じてメンテナンスマニュアルや機器マニュアルから対応策をレコメンドします。
私のイメージした利用者は機器管理者やメーカーのオペレーターなどが機器の故障時に初期対応するために、まずはどこが怪しいか?何を確認するべきか?を探す際に役立つと思いました。
このセッションブログに関しては結構私の感想や主観が入っています!
詳細を知りたい方はこちらのワークショップURLをご覧ください。
ビジネスシナリオ
今回のシナリオはe-bikeの組み立て工場で、ロボットアームステーションなどボトルネックとなり得る工程があります。
この工程は高精度が必要な組み立て工程で、製品モデルの違いにより動的にプログラムを変更する運用です。
運用の中でトラブルが発生した際、監督者はトラブルの重要度や緊急度を評価・分類し、対応の優先順位を決定する必要があります。
緊急度の評価や分類、優先順位付けなどをIoT SiteWise Assistantを使ってもっと簡単にやってみよう!ということです。
やってみた
アプリケーションデプロイ
今回の構成は図の構成です。
EventBridge→Lamdaの部分はサンプルデータを挿入するための構成なので、実際に機器からデータを取得している場合は不要です。
セッションでは各種リソースはすでに用意されていたので環境構築は割愛します。
アプリケーションへのアクセスはCloudFront経由で行います。
用意されたCloudFrontのURLへアクセスすると、ダッシュボードが開きます。
このダッシュボードを使って機器のトラブルシューティングを行います。
IoT SiteWise Assistantで分析
まずはKendraを設定せずにIoT SiteWise Assistantのみで分析を行います。
画面右上のAI Assistatをクリックすると、各グラフにチェックボックスが表示されます。
Joint 3 Current latestにチェックを入れてGenerate summaryでサマリを生成します。
画面右側にチャット欄が表示されてサマリが出力されます。
Property Summary
Asset Details
Asset Name: SiteWiseAssistantWorkshop_UniversalRobotsArm01
Property Details
Property Name: joint-3-current Property Alias: SiteWiseAssistantWorkshop_UniversalRobotsArm01/joint-3-current
Property Insights
The analysis of the historical values and trends for the "joint-3-current" property of the "SiteWiseAssistantWorkshop_UniversalRobotsArm01" asset reveals some interesting insights. The values have been aggregated at a one-minute resolution, providing a comprehensive view of the property's behavior over time.
The property values have shown significant fluctuations over the recorded period, which spans from December 4, 2024, at 19:57 UTC to December 4, 2024, at 20:55 UTC. The values have ranged from a low of 0.027056506255811685 to a high of 1.9488636470107419, indicating a wide range of operational conditions for the robotic arm.
Comparing the latest property value of 1.918110845302517, recorded at 20:56 UTC, to the historical values, it is evident that the current value falls within the typical range observed over the past hour. However, the value is on the higher end of the spectrum, which suggests that the robotic arm may be experiencing increased load or activity at the time of the data capture.
(Optional) When considering the values across multiple properties, it would be beneficial to evaluate any potential correlations or interdependencies between the different aspects of the robotic arm's operation. This could provide deeper insights into the overall system performance and identify any areas that require further investigation or optimization.
特定の期間の1分単位での変動を分析しています。
また、最新の値が過去の傾向と比較した際に過去の変動幅の範囲内に収まっていることも書かれています。
しかし、過去の傾向の中では比較的高い値をしてしており、稼働負荷が増加している可能性があることも指摘されています。
このように、自然言語で過去データからの分析や、データ比較ができるだけでも簡単に次のアクションに繋げられますね。
次に、個人的に気になったことを聞いてきました。
変動を求めているということは標準偏差なども計算できるのではないか?
また、計算に必要なクエリなども表示できるのではないか?
今回のセッション手順からは外れますが聞いてみましょう!!!
Are you able to.
- Provide a supporting reference for each answer?
- Is it possible to determine the standard deviation for every five minutes in the last hour?
- Can you display the queries you have performed in IoT SiteWise?
訳:あなたは以下のことができますか?
- 各回答に対する根拠となる参考文献を教えて下さい
- 直近1時間の5分ごとの標準偏差を求めることは可能ですか?
- IoT SiteWiseに実行したクエリを表示することはできますか?
I apologize, but I do not have enough information to provide a supporting reference for the property summary. The knowledge base query for "SiteWise property standard deviation" did not return any relevant documents.
Without any specific context or time range provided, I am unable to determine the standard deviation for every five minutes in the last hour. To calculate the standard deviation, I would need the property data for the specified time range.
Additionally, since no specific queries were mentioned in the original context, I cannot display any queries performed in IoT SiteWise. I can only provide information based on the tools and functions I have been given access to, and the context provided in the conversation.
1つ目の参考文献の検索は当然無理ですね、まだKendraを用意していないので当然です。
次の標準偏差に関する質問は時間を指定しろと怒られてますね。
最後のクエリ表示も無理そうですね。
2番目の質問を深掘りするために期間を指定してみました。
Now calculate the standard deviation for the period December 4, 2024, at 19:57 UTC to December 4, 2024, at 20:55 UTC.
Could you please provide the asset ID and property ID for the data you would like me to calculate the standard deviation for?
asset IDとproperty IDは?と聞かれたのでIoT SiteWiseのコンソール画面でそれぞれのIDを確認して回答します。
この質問の前にダッシュボードのJoint 3を指定していたので、わざわざIDを聞かれるのは面倒ですね。
asset ID: 6555acb9-2a3f-4757-a9a5-bffd44e165fa
property ID: 6b0d9508-a33f-4e22-94eb-d32c07a63156
データ不足により標準偏差は計算できていませんが、データの傾向が表示されています。
Standard Deviation Analysis
Asset Details
Asset Name: SiteWiseAssistantWorkshop_UniversalRobotsArm01
Property Details
Property Name: joint-3-current Property Alias: SiteWiseAssistantWorkshop_UniversalRobotsArm01/joint-3-current
Standard Deviation Insights
The historical values for the "joint-3-current" property show a consistent trend of 0.0 Amps from December 4, 2024 at 7:58 PM UTC to December 4, 2024 at 9:55 PM UTC, spanning a 2-hour period. This indicates that the current for the third joint of the Universal Robots Arm 01 has remained at a constant 0.0 Amps throughout this time period.
However, the latest value of 0.20574114032519164 Amps recorded at December 4, 2024 at 9:03 PM UTC is significantly higher than the 0.0 Amps recorded consistently over the previous 2-hour period. This suggests that there has been a recent increase in the current draw for the third joint of the arm, potentially indicative of a change in the arm's operation or loading.
Without any additional properties to evaluate, I cannot provide the standard deviation for every five minutes in the last hour. The data provided only shows a consistent 0.0 Amps value for the majority of the time period, with a single higher value at the end. To calculate a meaningful standard deviation, I would need a more varied set of data points over the specified time range.
実際のデータを見れなかったので、手計算ができず信憑性までは確認できませんでしたが、
過去の値が0.0であること
最新の値のみ0.20574114032519164となっていること
上記の傾向から最新の時間にJoint 3に電流が流れたことが予測されています。
Alarmセット
次にダッシュボードにアラーム設定して、アラートが発生した際に何が起きているのか?をAIを活用して予測します。
アラート発生時のファーストアクションとして使えそうですね。
まずはダッシュボードにアラームを追加します。
アセットを選択して
追加するアラームを選択して追加します。
アラームが追加されました。
追加したアラームの真ん中をクリックして、Generate Summaryをクリックしてサマリを出します。
Alarm Summary
Alarm Name: High_Temperature_Alarm Asset Name: SiteWiseAssistantWorkshop_UniversalRobotsArm01 Asset Model Name: SiteWiseAssistantWorkshop_UniversalRoboticsArm Severity: 3 Input Property Name: joint-3-temp
Alarm State Details:
Timestamp: 2024-12-03T05:22:00Z
State Name: NORMAL
State Detail: The input property value 26.47619711169121 is NOT GREATER than the threshold value 40.0.
Current Alarm State:
Timestamp: 2024-12-03T05:22:00Z
State Name: NORMAL
State Detail: The input property value 26.47619711169121 is NOT GREATER than the threshold value 40.0.
Path from Root Asset: SiteWiseAssistantWorkshop_UniversalRobotsArm01(6555acb9-2a3f-4757-a9a5-bffd44e165fa)
Relevant Documents: No relevant documents found in the knowledge base.
Based on the alarm details, the "High_Temperature_Alarm" is currently in the NORMAL state, meaning the temperature of the joint-3 on the SiteWiseAssistantWorkshop_UniversalRobotsArm01 asset is below the configured threshold of 40.0. No further action is required at this time.
詳細は割愛しますが、現在のアラーム状況など、アラームのサマリ情報が回答されています。
Alarm発報
実際に閾値を超える値を入力してアラームが発報された際のサマリを出してみましょう。
今回ここが一番やりたかったことですね!
閾値を超えるデータの入力は事前に用意されていたLambdaを少し書き換えます。
ではアラーム状態になったのでGenerate Summaryで回答を生成します。
Alarm Summary
Alarm Name: High_Temperature_Alarm Asset Name: SiteWiseAssistantWorkshop_UniversalRobotsArm01 Asset Model Name: SiteWiseAssistantWorkshop_UniversalRoboticsArm Severity: 3 Input Property Name: joint-3-temp
Alarm State Details:
Timestamp: 2024-12-03T05:22:00Z
State Name: NORMAL
State Detail: The input property value 26.47619711169121 is NOT GREATER than the threshold value 40.0.
Timestamp: 2024-12-04T21:17:00Z
State Name: ACTIVE
State Detail: The input property value 79.54605002593189 is GREATER than the threshold value 40.0.
Current Alarm State:
Timestamp: 2024-12-04T21:17:00Z
State Name: ACTIVE
State Detail: The input property value 79.54605002593189 is GREATER than the threshold value 40.0.
Path from Root Asset: SiteWiseAssistantWorkshop_UniversalRobotsArm01(6555acb9-2a3f-4757-a9a5-bffd44e165fa)
Relevant Documents: No relevant documents found in the knowledge base.
The "High_Temperature_Alarm" is currently in the ACTIVE state, meaning the temperature of the joint-3 on the SiteWiseAssistantWorkshop_UniversalRobotsArm01 asset has exceeded the configured threshold of 40.0. This could potentially lead to equipment damage or reduced performance if not addressed. I recommend reviewing the asset's operating parameters and maintenance procedures to identify the root cause and appropriate mitigation steps.
アラームの概要がサマリされています。
どこ(ロボティクスアーム)で何(温度)がいつ、~という値を出力したことでアラートが発報された。
ということが記載されています。
機器のアラートが発生した際は、こういった関連情報を集めるだけでも大変だったりするので、ネクストアクションを決めるための情報集めという意味で素晴らしい働きをしていますね。
では次に必要なことは何でしょうか?
やっぱり集めた情報を使ってネクストアクションまでレコメンドしてくれたらとっても嬉しいですね。
次はそれをやってみます。
Kendraを使って既存ドキュメントからのレコメンド
現状はIoT Site Wiseはデータからの情報のみを返しています。
ここに既存のメンテナンスマニュアルや機器マニュアルの情報が加わればさらに求める情報が得られます。
ではIoT SiteWiseにKendraのインデックスを追加して、再度Joint 3 Current latestにチェックを入れて回答を生成します。
The property summary for the "joint-3-current" property of the "SiteWiseAssistantWorkshop_UniversalRobotsArm01" asset is provided above. The key insights include:
The property values have exhibited significant fluctuations over the time period, ranging from 0.027056506255811685 to 1.979726353514072.
The overall trend suggests a cyclical pattern, with periods of higher and lower current values.
The latest value of 0.41234974597645113 is lower than the majority of the historical values, indicating a potential decrease in the current draw of the robotic arm's third joint.
ここでは最初と同じで特定期間の変動について回答されています。
次に、この機器のSOPはどこかを聞いてみます。
ちなみにSOPは操作手順のようなものです。
what is SOP for this property?
Could you please provide the name of the asset and the property for which you need the SOP?
どのassetとproperty?と聞かれているので回答します。
asset: 6555acb9-2a3f-4757-a9a5-bffd44e165fa
property: 6b0d9508-a33f-4e22-94eb-d32c07a63156
Based on the information retrieved from the knowledge base, the SOP (Standard Operating Procedure) for the "joint-3-current" property of the "SiteWiseAssistantWorkshop_UniversalRobotsArm01" asset includes the following key points:
Troubleshooting Steps:
Verify that the communication cables are connected properly.
Perform a complete rebooting sequence.
If the issue persists more than two times in a row, replace the affected joint.
Check the joint for damaged or loose connections. Replace the affected joint if the connections appear fine.
Check for misalignment, ring damage, or external magnetic fields near the encoder. Update the firmware on the joint. Replace the joint if the issue persists after firmware update.
Best Practices:
Allow the robot to warm up if the internal temperature is below 35°C before operating.
Perform regular reboots to help clear memory leaks that may contribute to issues.
If the troubleshooting steps do not resolve the temperature issues, it is recommended to contact the robot manufacturer's support for further assistance.
Sources
Some best practices for cold environments include ...
Do a complete rebooting sequence. 2. Check that th...
- Check the 48V power supply, current distributor...
Joint 3に関連する確認手順や実施すべき内容がSOPから抜粋されています。
また、ソースとなったSOPの項目についても記載されています。
実際に機器をメンテナンスする方はAIが判断した内容をそのまま鵜呑みにして実施することは多くないと思います。
しっかりと情報源を示してくれているので、情報源との照らし合わせも簡単です。
私の経験上、ソースとなる機器のドキュメントは大抵数百ページ以上あるPDFだったりします。
この中から自分の欲しい情報を探し出すのは一苦労です。
これをAIを使って大幅に時間短縮できると作業が捗りそうですね。
最後に
こういった時間をかければできるけど面倒。という作業はぜひAIに代替してもらいたい部分ですね。
IoT SiteWiseとKendraを組み合わせることで、
実際の機器データ + ドキュメントの組み合わせで傾向や対応策が出力されるのは素晴らしいですね。
ここに、さらに過去のとラブルシューティング実績などもドキュメントやデータとして追加できると尚良さそうです。